import 'package:flutter/material.dart';

class ListViewCase extends StatelessWidget {
  const ListViewCase({Key? key}) : super(key: key);

  List<Widget> getList() {
    // 1.for循环
    // List<Widget> list = [];
    // for (int i = 0; i < 10; i++) {
    //   list.add(Container(
    //     width: double.infinity,
    //     margin: EdgeInsets.all(10),
    //     decoration: BoxDecoration(
    //       color: Colors.blue,
    //       borderRadius: BorderRadius.circular(10),
    //     ),
    //     height: 100,
    //     alignment: Alignment.center,
    //     child: Text(
    //       'item $i',
    //       style: TextStyle(
    //         color: Colors.white,
    //         fontSize: 20,
    //       ),
    //     ),
    //   ));
    // }
    // return list;

    // 2.map
    return [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map((int value) {
      return Container(
        width: double.infinity,
        margin: EdgeInsets.all(10),
        decoration: BoxDecoration(
            color: Colors.blue, borderRadius: BorderRadius.circular(10)),
        height: 100,
        alignment: Alignment.center,
        child: Text(
          "第${value + 1}个",
          style: TextStyle(color: Colors.white, fontSize: 30),
        ),
      );
    }).toList();
  }

  @override
  Widget build(BuildContext context) {
    // return ListView(
    //   children: getList(),
    // );

    // 3.builder函数
    // return ListView.builder(
    //   itemBuilder: (BuildContext context, int index) {
    //     return Container(
    //       width: double.infinity,
    //       margin: EdgeInsets.all(10),
    //       decoration: BoxDecoration(
    //           color: Colors.blue, borderRadius: BorderRadius.circular(10)),
    //       height: 100,
    //       alignment: Alignment.center,
    //       child: Text(
    //         "第${index + 1}个",
    //         style: TextStyle(color: Colors.white, fontSize: 30),
    //       ),
    //     );
    //   },
    //   itemCount: 5,
    // );

    // 同时设置分割线和内容

    return ListView.separated(
        itemBuilder: (BuildContext context, int index) {
          return Container(
            width: double.infinity,
            margin: EdgeInsets.all(10),
            decoration: BoxDecoration(
                color: Colors.blue, borderRadius: BorderRadius.circular(10)),
            height: 100,
            alignment: Alignment.center,
            child: Text(
              "第${index + 1}个",
              style: TextStyle(color: Colors.white, fontSize: 30),
            ),
          );
        },
        separatorBuilder: (BuildContext context, int index) {
          return Container(
            width: double.infinity,
            height: 2,
            color: Colors.red,
            margin: EdgeInsets.only(top: 20, bottom: 20),
          );
        },
        itemCount: 5);
  }
}
